<?php
// +----------------------------------------------------------------------
// | 分类（版块接口）
// +----------------------------------------------------------------------

namespace api\portal\controller;

use api\portal\model\PortalCategoryModel;
use cmf\controller\RestBaseController;

class CategoriesController extends RestBaseController {
	protected $categoryModel;

	public function __construct(PortalCategoryModel $categoryModel) {
		parent::__construct();
		$this->categoryModel = $categoryModel;
	}

	/**
	 * 获取分类列表
	 */
	public function index() {
		$params = $this->request->get();
		$data = $this->categoryModel->getDatas($params);

		foreach ($data as $key => $value) {
			$data[$key]['more'] = [
				'thumbnail' => empty($value['more']['thumbnail']) ? 'http://mlkz.ostengar.com/themes/mlkz/public/assets/images/default-thumbnail.png' : $value['more']['thumbnail'],
			];
		}

		if (empty($this->apiVersion) || $this->apiVersion == '1.0.0') {
			$response = $data;
		} else {
			$response = ['list' => $data];
		}

		$this->success('请求成功!', $response);
	}

	/**
	 * 显示指定的分类
	 * @param int $id
	 */
	public function read($id) {
		$params['id'] = $this->request->get('id');
		if (intval($params['id']) === 0) {
			$this->error('无效的分类id！');
		}
		$data = $this->categoryModel->getDatas($params);
		$this->success('请求成功!', $data);
	}

	/**
	 * 获取指定分类的子分类列表
	 * @throws \think\db\exception\DataNotFoundException
	 * @throws \think\db\exception\ModelNotFoundException
	 * @throws \think\exception\DbException
	 */
	public function subCategories() {
		$id = $this->request->get('category_id', 0, 'intval');

		$categories = $this->categoryModel->where(['parent_id' => $id])->select();

		$this->success('请求成功', ['categories' => $categories]);

	}
}